毕业设计

您所在的位置:网站首页 图像识别 表格 毕业设计

毕业设计

2023-03-23 02:11| 来源: 网络整理| 查看: 265

目录

前言

课题背景和意义

实现技术思路

一、表盘区域定位算法

二、Mask R-CNN 网络模型分析

三、表盘区域定位算法改进与实现

实现效果图样例

最后

前言

    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯毕业设计-基于机器视觉的指针式仪表读数自动识别研究与实现

课题背景和意义

工业化时代下,仪表仪器在工业、交通、电力、煤矿等领域内扮演着重要角色。仪表 测量的各项指标对企业安全生产、高质量生产具有非常重要的意义。如今,指针式仪表和 数字式仪表根据需要应用在不同场所中。相较于指针式仪表,虽然数字式仪表更加直观, 易于读数,且可以与终端设备连接直接将数据在终端设备上显示,避免人工现场读表,但 在特定场合下数字式仪表仍不能完全取代指针式仪表,当被监测量的数值容易发生急剧变 化或容易产生波动时,指针式仪表的整体稳定性优势就体现出来。此外,在生产环境较为 恶劣的场合,如在易燃易爆炸的工业现场,高湿度或高粉尘的工业生产车间,潮湿恶劣的 矿井环境,使用指针式仪表对设备进行监测更加可靠,目前较好的解决方式是利用巡检机器人定时对指针式仪表进行巡检,获取需要监测的 仪表图像后进行图像处理,从而自动获取仪表示数。具有普适性和较高的准确 性,对降低人工成本,实现工业自动化、智能化具有实际意义与价值。

实现技术思路 一、表盘区域定位算法

指针式仪表表盘区域定位算法

1、传统表盘区域定位算法分析

对于指针式仪表表盘定位首先对传统的算法进行分析,在传统的表盘区域定位算法中 常用的算法有模板匹配算法和霍夫圆检测算法。

(1)模板匹配算法

模板匹配是数字图像处理领域一种较为原始、基本的模式识别方法,通过一张模板图 片作为像素参考,然后在原图中搜索与模板相同的像素区域,搜索过程中通过相似度函数 来判别原图与模板的相似度,从而在原图像中找到相似的子图,进而识别出目标图中的物 体。

设模板T 的维度为 rT ×cT ,原图像 I 固定在偏移 x = (xa , xb ) 处,则相似度函数为:

在实际应用中模板匹配法有着诸多的限制,模板选取的好坏对最终的匹配结果有 很大的影响,如果模板选取大小不合适会导致图像匹配框出现偏移的现象。图为使用 模板匹配算法对仪表盘进行定位的结果图,如图所示,图像匹配结果出现了偏移, 且匹配框的大小不合适。

(2)霍夫圆检测算法

标准霍夫变换的原理就是把图像空间映射到霍夫空间。将原始输入图像经过滤波和边 缘检测后得到边缘图像,根据圆的坐标方程将边缘图像中的每个边缘像素点映射到以圆心 坐标和半径为参数的霍夫三维空间中。

二维空间中圆的方程为:

霍夫圆变换就是将二维的图像坐标转换为以 a-b-r 为参数的三维的坐标,如图所示。

此时边缘图像中的圆上任意一点(xi , yi) 映射到霍夫空间的三维圆锥面上,该三维圆 锥面用公式表示为:

 当在边缘图像中存在一个圆,把图像平面位置坐标系中位于该圆上的每个点都映射到 参数空间时,各个点映射得到的圆锥面会相交于同一点(a,b,c) ,如图所示。

使用霍夫圆检测算法对指针式仪表进行检测分为两个阶段,第一阶段为检测表盘圆 心,第二阶段为检测表盘圆半径。算法的实现依赖计算机视觉库 OpenCV。

2、基于深度学习的表盘区域定位算法

对传统表盘定位算法进行分析得出传统的表盘定位算法无法很好的满足实际的应用 要求。近几年来深度学习技术在目标检测中取得惊人的成绩,所以考虑将深度学习应用于 指针式仪表的定位中。在基于深度学习的目标检测中,应用较多的是两步式(two stage) 的 R-CNN 系列和一步式(one stage)的 YOLO 系列。

YOLO 算法的主干网络为卷积神经网络(Convolutional Neural Network, CNN),图为 YOLO 算法的网络结构,YOLO 算法对生成的目标框直接送入网络进行分类回归,从而 在全图中直接检测出边界框和对应的分类概率,所以检测速度相对较高,但精度比 Mask R-CNN 要低。

 Mask R-CNN 识别效果图:

 YOLO 识别效果图:

二、Mask R-CNN 网络模型分析

Mask R-CNN 集成了 R-CNN、Fast R-CNN、和 Faster R-CNN 的优点,如图为 Mask R-CNN 的网络结构。

 该结构的核心部分为主干网络、区域建议网络 RPN、兴趣区域池化和全卷积网络 FCN。 主干网络 backbone 使用残差网络 ResNet [37]和特征金字塔网络 FPN[38]进行特征提取,提取 之后生成 Feature Maps。

1、主干网络

在残差网络提出之前,研究人员通过增大网络深度以提升神经网络的拟合能力,但当 网络加深到一定程度时研究人员发现误差反而增大了,出现了梯度弥散和梯度爆炸现象, 这个现象在深度学习中通常被称为退化现象。

在网络较深时,由于可以将输出结果直接传 入下一次的计算中,因此残差网络有效解决了退化问题。

使用 ResNet101 作为 Mask R-CNN 的一个特征提取主干网络,ResNet101 由多集 成的小型卷积核来简化计算和提升网络拟合性能,如表所示为 ResNet101 特征提取的 结构参数,其中 conv(convolution)为卷积层,max pool 为最大池化,stride 为卷积核的提 取步长,softmax 为激活函数。

 Mask R-CNN 的主干网络由特征金字塔网络(Feature Pyramid Network, FPN)和 ResNet101 共同构成,特征金字塔网络 FPN 是一种精心设计的多尺度检测方法,其结构为 自下而上的特征提取、自上而下的上采样与横向连接进行特征融合两部分,如图所示。

 特征金字塔网络这种层级间特征融合的结构可以和多种网络结合,使其可以被构建在 任何骨干网络中来进行特征提取,且可以获得较高的语义信息来提高检测精度。在 Mask R-CNN 中 FPN 与 ResNet101 结合进行特征响应图的构建,如图所示为 FPN 与ResNet101 结构图。

2、区域建议网络

RPN Mask R-CNN 中仪表图像经过 ResNet-FPN 进行特征提取,生成特征响应图(Feature Maps)之后,将特征响应图送入区域建议网络(Region Proposal Network,RPN)。

 在进行前景背景判断时用交并比(Intersection Over Union,IOU)的阈值对预设锚框 进行筛选,交并比定义如公式所示:

筛选出的前景锚框包含仪表目标图像,但此时的锚框并未精确地将仪表范围框出来, 还需要对锚框的坐标值进行修正,使得修正后与数据集上的锚框位置接近。锚框参数用四 维向量 (x, y,w,h)来表示,x,y 为锚框的中心点坐标,w,h 为锚框的宽和高。RPN 中,锚 框之间的平移和尺度公式为:

 (xa,ya,wa,ha ) 为 待 修 正 锚 框 的 参 数 , 修 正 后 锚 框 参 数 为 (x,y,w,h) ,仪表数据集标注的真实锚框参数为 (x*,y*,w*,h* ) ,t x ,t y 为平移量, tw , th 为尺度缩放,真实锚框的变换量同理。

3、兴趣区域池化

兴趣区域(Region of Interest,ROI)为特征图中锚框检测到的目标区域,即仪表特征 图中包含仪表特征的区域。经过 RPN 处理后,包含仪表特征的区域被不同大小的锚框包围, 所以需要用池化操作来将目标区域摘取出来且转化成固定尺寸的特征图,以便后续送入全 连接层进行分类回归。

ROI Align 为了解决取整带来的误差,采用双线性插值的方法获得像素点的浮点数坐 标,其双线性插值方法如图所示。

三、表盘区域定位算法改进与实现

Mask R-CNN 网络模型改进

使用 Mask R-CNN 网络模型除了对仪表盘精确定位外,还需要滤除外部环境的干扰, 使得仪表图像经过该算法的检测最终只得到仪表的表盘区域。因此本文在全卷积网络(FCN) 分支上设计了表盘分割环节,如图所示。

 该环节依赖计算机视觉库 OpenCV 实现掩码的计算,首先利用 FCN 生成的 mask 掩膜 信息提取二值掩膜图像,该二值掩膜图像表盘区域像素值为 255,非表盘区域像素值为 0, 然后将二值掩膜图像映射到仪表图像中。分割后的图像和提取的二 值掩膜图像如图所示。

 Mask R-CNN 默认能够对 80 类物体进行目标检测,80 类物体长宽比例复杂,因此在 区域建议网络 RPN 中锚框的比例为{1:2,1:1,2:1},并且每种比例包含{32×32,64×64, 128×128,256×256,512×512}五种面积,所以锚框能够适应各种形状的目标,将目标精确 定位出来。本文将该网络模型引入表盘区域定位中,只需要训练该模型对表盘区域进行检 测。由于表盘区域形状较为单一,为了适应表盘区域的检测,同时减少不必要的计算,对锚框比例进行了调整。

锚框修改前示意图:

锚框修改后示意图:

2、数据集建立

Mask R-CNN 对目标的精确检测需要大量数据集送入该网络中进行训练,为了尽可能 模拟真实工况下可能遇到的情形,对现有数据图片进行数据增强处理,包括亮度增强、旋 转、随机颜色等处理,总共生成 1500 张数据图片。

每标注一张图片都会生成一个后缀为 json 的文件,还需要使用 Labelme 中附带的控件 对该文件进行进一步转化,转化后生成的数据集如图所示,其中 label.png 为 Mask R-CNN 训练需要的掩码标签 。

3、Mask R-CNN 的训练

本文 Mask R-CNN 算法环境搭建依赖于 Tensorflow 开源框架,Tensorflow 是谷歌团队 为了加速深度学习的研究而开发的深度学习框架,能够提供深度学习需要用到的各种算 法。在 Mask R-CNN 网络中使用联合损失函数来训练锚框回归、分类和 FCN 中的 mask 预 测,其联合损失函数表示为:

 利用开源 COCO 大数据集上得到的模型作为预训练模型应用到仪表盘定位检测任 务中,由于加入了预训练模型,所以冻结部分网络层不再对其进行训练,将网络分类的类 别改为 2 类(仪表盘与背景),然后开始对剩余的网络进行训练,其训练的参数设置如表所示。

实现效果图样例

指针式仪表读数自动识别:

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3